package com.mbigger.admin.service;

import java.util.List;
import com.google.common.collect.Multimap;
import com.mbigger.admin.dto.AclDto;
import com.mbigger.admin.dto.AclModuleLevelDto;
import com.mbigger.admin.dto.DeptLevelDto;

public interface TreeService {
	
	List<AclModuleLevelDto> userAclTree(int userId);

	List<DeptLevelDto> deptTree();
	
	List<DeptLevelDto> deptListToTree(List<DeptLevelDto> deptLevelList);
	
	void transformDeptTree(List<DeptLevelDto> deptLevelList, String level, Multimap<String, DeptLevelDto> levelDeptMap);

	List<AclModuleLevelDto> aclModuleListToTree(List<AclModuleLevelDto> dtoList);

	void transformAclModuleTree(List<AclModuleLevelDto> dtoList, String level, Multimap<String, AclModuleLevelDto> levelAclModuleMap);

	List<AclModuleLevelDto> aclModuleTree();

	List<AclModuleLevelDto> roleTree(int roleId);

	public List<AclModuleLevelDto> aclListToTree(List<AclDto> aclDtoList);

	public void bindAclsWithOrder(List<AclModuleLevelDto> aclModuleLevelList, Multimap<Integer, AclDto> moduleIdAclMap);
}
